package com.dd.mapper;

import com.dd.model.Order;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 订单Mapper接口
 */
public interface OrderMapper {
    
    /**
     * 查询所有订单
     */
    List<Order> findAll();
    
    /**
     * 根据ID查询订单(包含客户和订单项信息)
     */
    Order findById(@Param("orderId") Integer orderId);
    
    /**
     * 查询订单基本信息(不包含关联数据)
     */
    Order findBasicById(@Param("orderId") Integer orderId);
    
    /**
     * 根据客户ID查询订单
     */
    List<Order> findByCustomerId(@Param("customerId") Integer customerId);
    
    /**
     * 根据订单状态查询订单
     */
    List<Order> findByStatus(@Param("status") String status);
    
    /**
     * 添加订单
     */
    int insert(Order order);
    
    /**
     * 更新订单
     */
    int update(Order order);
    
    /**
     * 更新订单状态
     */
    int updateStatus(@Param("orderId") Integer orderId, @Param("status") String status);
    
    /**
     * 删除订单
     */
    int deleteById(@Param("orderId") Integer orderId);
} 